//package halo.actors
//
//import akka.actor.{Actor, ActorRef}
//import akka.actor.Actor.Receive
//import halo.messages._
//
//import scala.collection.mutable.ArrayBuffer
//import scala.concurrent.{Await, Future}
//
///*
//
// A 爬取首页
// |-B 解析列表页
//    |-E存种子
// |-C  取翻页相关数据
//    |-D 翻页列表
//      |- B
//          |-E
//      |- C
//         |- D
//
//*/
//
///**
//  * Created by jedi on 17-5-22.
//  */
//class Dispatcher extends Actor {
//  val workers = ArrayBuffer[ActorRef]()
//
//  override def receive: Receive = {
//    case DispatchTask(taskData) => {
//      //拆分任务
//
//      //创造第一级任务
//
//      //给自己发送第一级任务命令
//    }
//    case Command() =>{
//      //拿到命令　发送这个命令id和具体行为发送给可用worker
//      //比如第一级任务下发，给Worker，把id存入hash中，完成后可以找到下一级
//    }
//    case WorkerControl(workerNum) => {
//      //控制大小
//
//      if (workerNum < workers.length) {
//        var count = workerNum
//        workers.map(worker => worker ? isBusy)
//          .map(future => future onSuccess {
//            case msg:Yes => {
//                count -= 1
//            }
//            case msg:No =>{
//
//            }
//
//          })
//      }
//
//
//    }
//    case Complete() =>{
//      //
//
//      //结果是一个可迭代的
//      //根据结果迭代进行下一步，收到id在hash中找到命令，并推导出下一步
//      //制造出下一步的命令发出
//    }
//  }
//}
//
//class CommandNode{
//
//}
